package geekstudy.week5;

import java.util.Arrays;

/**
 *
 * 方法1
 *   Arrays.sort(nums);
 *   return nums;
 * 执行结果：  通过  显示详情
 *
 * 添加备注
 * 执行用时：6 ms, 在所有 Java 提交中击败了96.60% 的用户
 * 内存消耗：47 MB, 在所有 Java 提交中击败了85.83%
 *
 *
 * 方法2
 *   超出时间限制
 *
 */
public class Week5SortAnArray {

    public int[] sortArray(int[] nums) {
        // Arrays.sort(nums);
        // return bubbleSort(nums);
        return bubbleSort2(nums);
    }

    public int[] bubbleSort(int[] nums) {
        for(int size = 0; size < nums.length; size++) {
            //boolean flag = false;
            for(int compare = size + 1; compare < nums.length; compare++) {
                if(nums[size] > nums[compare]) {
                    int temp = nums[size];
                    nums[size] = nums[compare];
                    nums[compare] = temp;
                    // flag = true;
                }
            }
            //if(flag) {
            //    break;
            //}
        }

        return nums;
    }

    public int[] bubbleSort2(int[] nums) {
        for(int size = 0; size < nums.length - 1; size++) {
            // boolean flag = false;
            for(int compare = 0; compare < nums.length - size - 1; compare++) {
                if(nums[compare] > nums[compare + 1]) {
                    int temp = nums[compare];
                    nums[compare] = nums[compare + 1];
                    nums[compare + 1] = temp;
                    // flag = true;
                }
            }
            //if(flag) {
            //    break;
            //}
        }
        return nums;
    }
}
